package com.xms.security.verification.core;

import cn.hutool.core.lang.Assert;
import com.xms.utils.MD5Util;

/**
 * <p>
 * 验证码加解密
 * </p>
 *
 * @author migo
 * @since 2021/11/6
 */
public class VerifyValueCoder {
    //每次随机生成一个盐值
    public static String SALT = RandomUtils.randomString(4);

    /**
     * 加密
     * @param value
     * @return
     */
    public static String encode(String value){
        Assert.notBlank(value);
        return MD5Util.encode(value + SALT);
    }

    /**
     * 验证
     * @param inputCode
     * @param encodeStr
     * @return
     */
    public static boolean valid(String inputCode, String encodeStr){
        Assert.notBlank(inputCode);
        Assert.notBlank(encodeStr);
        return encode(inputCode).equals(encodeStr);
    }
}
